
#ifndef ORGANIZATIONDAO_MOCK_H
#define ORGANIZATIONDAO_MOCK_H

#include <stdint.h>
#include <string>
#include "app_platform/cntl_info.h"

#include <set>	
#include <map>	
#include <vector>	
#include "erp/organization/ddo/branchddo_organization.h"	
#include "erp/organization/ddo/organizationfilterddo_organization.h"	
#include "intf_organizationdao.h"


namespace erp
{
namespace organization
{
namespace dao
{

	class COrganizationDaoMock : public IOrganizationDao{
	public:
	    virtual uint32_t DeleteBranch(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& branchId,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t FindBranch(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::organization::ddo::COrganizationFilterDdo& filter,
				const std::string& inReserve,
				std::string& errmsg,
				uint32_t& total,
				std::vector<erp::organization::ddo::CBranchDdo >& branch,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			total = m_total;
			branch = m_branch;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t GetBranch(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const std::set<uint64_t >& branchId,
				const std::string& inReserve,
				std::string& errmsg,
				std::map<uint64_t,uint32_t >& errorCode,
				std::map<uint64_t,std::string >& errorMsg,
				std::map<uint64_t,erp::organization::ddo::CBranchDdo >& branch,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			errorCode = m_errorCode;
			errorMsg = m_errorMsg;
			branch = m_branch;
			outReserve = m_outReserve;
			return 0;
	    }		
	    virtual uint32_t ModifyBranch(
				const CCntlInfo& rCntlInfo,

				const std::string& machineKey,
				const std::string& source,
				uint32_t sceneId,
				uint32_t option,
				const erp::organization::ddo::CBranchDdo& branch,
				const std::string& inReserve,
				std::string& errmsg,
				std::string& outReserve
	    	)
	    {
			errmsg = m_errmsg;
			outReserve = m_outReserve;
			return 0;
	    }		
	
   public:
			std::string m_errmsg;
			std::map<uint64_t,uint32_t > m_errorCode;
			std::map<uint64_t,std::string > m_errorMsg;
			std::string m_outReserve;
			uint32_t m_total;
			std::vector<erp::organization::ddo::BranchDdo > m_branch;
			std::map<uint64_t,erp::organization::ddo::BranchDdo > m_branch;
	};
	
}
}
}

#endif /* ORGANIZATIONDAO_MOCK_H */

